home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-06-12 | 1.5 KB | 59 lines | [TEXT/CWIE] |
- // Sprocket Framework header file
- // DynamicArray.h
-
-
-
- #ifndef _DYNAMICARRAY_
- #define _DYNAMICARRAY_
-
- typedef void ArrayElement, *ArrayElementPtr;
- typedef unsigned long ArrayElementCount;
- typedef unsigned long ArrayElementIndex;
-
- class TDynamicArray
- {
- public:
- TDynamicArray();
- virtual ~TDynamicArray();
-
-
- // insertion & deletion
-
- OSErr Insert(ArrayElementPtr elementToInsert, ArrayElementIndex beforeElement);
- OSErr InsertFirst(ArrayElementPtr elementToInsert);
- OSErr InsertLast(ArrayElementPtr elementToInsert);
-
- OSErr Delete(ArrayElementIndex whichElement);
- OSErr DeleteFirst();
- OSErr DeleteLast();
-
-
- // element accessors
-
- ArrayElementCount GetElementCount() { return fElementCount; };
-
- ArrayElementPtr GetIndexedElement(ArrayElementIndex whichElement);
- void SetIndexedElement(ArrayElementIndex whichElement, ArrayElementPtr element);
-
-
- // iterators
-
- typedef void (*EachArrayElementProc)(ArrayElementPtr element, void * param);
- typedef Boolean (*EachArrayElementTestProc)(ArrayElementPtr element, void * param);
-
- void ForEachElement(EachArrayElementProc proc, void * param);
- ArrayElementPtr FirstElementThat(EachArrayElementTestProc proc, void * param);
- ArrayElementPtr LastElementThat(EachArrayElementTestProc proc, void * param);
-
- OSErr FindAndDeleteElement(ArrayElementPtr element);
-
- OSErr MoveToFront(ArrayElementPtr elementToMove);
-
- protected:
-
- ArrayElementCount fElementCount;
- ArrayElementPtr ** fStorage;
- };
-
- #endif
-